home *** CD-ROM | disk | FTP | other *** search
- /*
- * Manage the time information for a single client. The main
- * Controller maintains a list of these.
- *
- * For legal stuff see the file COPYRIGHT
- */
- #import <stdio.h>
- #import <objc/Object.h>
- #import "SortList.h"
-
- @interface ClientInfo : Object
- {
- char *shortName; /* abbreviated name for filenames and lists */
- char *clientName; /* the company */
- char *contactName; /* the individual the invoice goes to */
- char *street;
- char *city;
- char *state;
- char *zipCode;
- char *faxNumber;
- char *emailAddr;
- float hourlyRate;
- float totalMins; /* sum of hours worked in all sessions */
- SortList *sessionList; /* a list of Sessions, obviously */
- SortList *expenseList; /* likewise... */
- }
-
- - init;
- - free;
-
- - (const char *)lastDescription;
-
- - setShortName:(const char *)str;
- - setClientName:(const char *)str;
- - setContactName:(const char *)str;
- - setStreet:(const char *)str;
- - setCity:(const char *)str;
- - setAddrState:(const char *)str;
- - setZipCode:(const char *)str;
- - setFaxNumber:(const char *)str;
- - setEmailAddr:(const char *)str;
- - setTotalMins:(int)value;
- - setHourlyRate:(float)value;
-
- - (const char *)shortName;
- - (const char *)clientName;
- - (const char *)contactName;
- - (const char *)street;
- - (const char *)city;
- - (const char *)addrState;
- - (const char *)zipCode;
- - (const char *)faxNumber;
- - (const char *)emailAddr;
- - (void)computeTotalMins;
- - (int)totalMins;
- - (float)totalHours;
- - (float)hourlyRate;
- - (float)totalBillable;
- - (float)totalExpenses;
-
- - (int)sessionCount;
- - sessionAt:(int)position;
- - addSession:session;
- - deleteSession:session;
- - (void)compactSessions;
- - (void)computeTotalMins;
- - (void)deleteSessionsAndExpenses;
- - (void)sortSessions;
-
- - (int)expenseCount;
- - expenseAt:(int)position;
- - addExpense:expense;
- - deleteExpense:expense;
- - (void)deleteAllExpenses;
- - (void)sortExpenses;
-
- - (void)exportToFile:(FILE *)fp;
-
- - read: (NXTypedStream *) stream;
- - write:(NXTypedStream *) stream;
- @end
-